package com.eastfair.datasync.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
    import lombok.Data;
    import lombok.Builder;
    import lombok.EqualsAndHashCode;
    import lombok.NoArgsConstructor;
    import lombok.AllArgsConstructor;
    import com.fasterxml.jackson.annotation.JsonInclude;
    import lombok.ToString;
    import lombok.experimental.Accessors;
    import com.eastfair.annotation.annotation.vo.VoInfo;
    import com.eastfair.annotation.model.BaseVoGroupClass;
            import com.eastfair.datasync.enumeration.UserKafkaAccountStatusEnum;
import java.io.Serializable;
import com.eastfair.vo.BaseVO;

/**
* <p>
    * 实体类
    * 用户表
    * </p>
*
* @author ligang
* @since 2023-03-29
*/
    @Data
    @ApiModel(value = "UserKafkaAccountVO", description = "用户表")
public class UserKafkaAccountVO extends BaseVO implements Serializable {

private static final long serialVersionUID = 1L;

        @ApiModelProperty(value = "主键")
        @JsonInclude(JsonInclude.Include.NON_NULL)
        @VoInfo(groups = {BaseVoGroupClass.all.class})
        private Long id;

            /**
            * 头像
            */
            @ApiModelProperty(value = "头像")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "头像长度不能超过255")
        private String headImg;
            /**
            * 昵称
            */
            @ApiModelProperty(value = "昵称")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "昵称长度不能超过255")
        private String nickName;
            /**
            * 登录名
            */
            @ApiModelProperty(value = "登录名")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 64, message = "登录名长度不能超过64")
        private String name;
            /**
            * 手机区号
            */
            @ApiModelProperty(value = "手机区号")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 64, message = "手机区号长度不能超过64")
        private String mobileCountryCode;
            /**
            * 性別 1男 0女
            */
            @ApiModelProperty(value = "性別 1男 0女")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "性別 1男 0女长度不能超过255")
        private String gender;
            /**
            * 手机号
            */
            @ApiModelProperty(value = "手机号")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 16, message = "手机号长度不能超过16")
        private String mobile;
            /**
            * 密码
            */
            @ApiModelProperty(value = "密码")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 256, message = "密码长度不能超过256")
        private String password;
            /**
            * 邮箱
            */
            @ApiModelProperty(value = "邮箱")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 64, message = "邮箱长度不能超过64")
        private String email;
            /**
            * 状态 #{normal:正常;wait_init:待初始化;forbidden:禁用;waiting:待审核;refuse:拒绝;delete:已删除}
            */
            @ApiModelProperty(value = "状态 #{normal:正常;wait_init:待初始化;forbidden:禁用;waiting:待审核;refuse:拒绝;delete:已删除}")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private UserKafkaAccountStatusEnum status;
            /**
            * 公司id
            */
            @ApiModelProperty(value = "公司id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long companyId;
            /**
            * 展商id
            */
            @ApiModelProperty(value = "展商id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long exhibitorId;
            /**
            * 观众id
            */
            @ApiModelProperty(value = "观众id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long visitorId;
            /**
            * 是否是观众 1是 0否
            */
            @ApiModelProperty(value = "是否是观众 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isVisitor;
            /**
            * 是否是主办 1是 0否
            */
            @ApiModelProperty(value = "是否是主办 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isSponsor;
            /**
            * 是否是员工 1是 0否
            */
            @ApiModelProperty(value = "是否是员工 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isEmployee;
            /**
            * 是否是展商 1是 0否
            */
            @ApiModelProperty(value = "是否是展商 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isActor;
            /**
            * 是否是游客 1是 0否
            */
            @ApiModelProperty(value = "是否是游客 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isTourist;
            /**
            * 是否启用 1是 0否
            */
            @ApiModelProperty(value = "是否启用 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isEnabled;
            /**
            * 是否删除 1是 0否
            */
            @ApiModelProperty(value = "是否删除 1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isDeleted;
            /**
            * 租户id
            */
            @ApiModelProperty(value = "租户id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long tenantId;
            /**
            * 项目id
            */
            @ApiModelProperty(value = "项目id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long projectId;
            /**
            * 子系统id
            */
            @ApiModelProperty(value = "子系统id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long subsystemId;
            /**
            * 身份证号
            */
            @ApiModelProperty(value = "身份证号")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "身份证号长度不能超过255")
        private String idCard;
            /**
            * 真实姓名
            */
            @ApiModelProperty(value = "真实姓名")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "真实姓名长度不能超过255")
        private String realName;
            /**
            * 是否厦门智慧场馆1是 0否
            */
            @ApiModelProperty(value = "是否厦门智慧场馆1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isP;
            /**
            * 是否场馆业务管理系统1是 0否
            */
            @ApiModelProperty(value = "是否场馆业务管理系统1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPVenue;
            /**
            * 是否证件管理系统1是 0否
            */
            @ApiModelProperty(value = "是否证件管理系统1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCertificate;
            /**
            * 是否综合-场馆管理1是 0否
            */
            @ApiModelProperty(value = "是否综合-场馆管理1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCompositeVenue;
            /**
            * 是否综合-主场管理1是 0否
            */
            @ApiModelProperty(value = "是否综合-主场管理1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCompositeCourt;
            /**
            * 是否综合-搭建商管理1是 0否
            */
            @ApiModelProperty(value = "是否综合-搭建商管理1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCompositeProducer;
            /**
            * 是否综合-主运管理1是 0否
            */
            @ApiModelProperty(value = "是否综合-主运管理1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCompositeTransport;
            /**
            * 是否综合-商旅管理1是 0否
            */
            @ApiModelProperty(value = "是否综合-商旅管理1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCompositeTrade;
            /**
            * 是否综合-配套商管理1是 0否
            */
            @ApiModelProperty(value = "是否综合-配套商管理1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCompositeMating;
            /**
            * 是否支付系统1是 0否
            */
            @ApiModelProperty(value = "是否支付系统1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPPay;
            /**
            * 是否展商自服务1是 0否
            */
            @ApiModelProperty(value = "是否展商自服务1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPExhibitorSelf;
            /**
            * 是否餐饮小程序1是 0否
            */
            @ApiModelProperty(value = "是否餐饮小程序1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCateringapp;
            /**
            * 是否餐饮后台服务1是 0否
            */
            @ApiModelProperty(value = "是否餐饮后台服务1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPCatering;
            /**
            * 是否对外门户-场馆后台1是 0否
            */
            @ApiModelProperty(value = "是否对外门户-场馆后台1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPPortalOutVenue;
            /**
            * 是否对外门户-运营后台1是 0否
            */
            @ApiModelProperty(value = "是否对外门户-运营后台1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPPortalOutOperation;
            /**
            * 是否内部门户-工作后台1是 0否
            */
            @ApiModelProperty(value = "是否内部门户-工作后台1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPPortalInWork;
            /**
            * 是否内部门户-工作app1是 0否
            */
            @ApiModelProperty(value = "是否内部门户-工作app1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPPortalInWorkapp;
            /**
            * 是否智慧运营中心系统1是 0否
            */
            @ApiModelProperty(value = "是否智慧运营中心系统1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPOperationCenter;
            /**
            * 是否访客前台系统1是 0否
            */
            @ApiModelProperty(value = "是否访客前台系统1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPVisitorFront;
            /**
            * 是否访客后台系统1是 0否
            */
            @ApiModelProperty(value = "是否访客后台系统1是 0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPVisitorBack;
            /**
            * 配套商ID
            */
            @ApiModelProperty(value = "配套商ID")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long matingId;
            /**
            * 主运ID
            */
            @ApiModelProperty(value = "主运ID")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long transportId;
            /**
            * 主场ID
            */
            @ApiModelProperty(value = "主场ID")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long courtId;
            /**
            * 搭建商ID
            */
            @ApiModelProperty(value = "搭建商ID")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Long producerId;
            /**
            * 是否业务系统管理员 1是0否
            */
            @ApiModelProperty(value = "是否业务系统管理员 1是0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isAdmin;
            /**
            * 是否超级管理员1是0否
            */
            @ApiModelProperty(value = "是否超级管理员1是0否")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isSuperAdmin;
            /**
            * 华为IAM用户id
            */
            @ApiModelProperty(value = "华为IAM用户id")
            @JsonInclude(JsonInclude.Include.NON_NULL)
                @Size(max = 255, message = "华为IAM用户id长度不能超过255")
        private String iamUserId;
            /**
            * 是否主账号
            */
            @ApiModelProperty(value = "是否主账号")
            @JsonInclude(JsonInclude.Include.NON_NULL)
        private Integer isPrimaryAccount;
}
